package com.lz.zk.git;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Service;

@Service("gitService")
@PropertySource("classpath:com/lz/zk/git/gitConfig.properties")
public class GitService {
	
    @Value("${git.baseUrl}")
    private String baseUrl;
    @Value("${git.dir}")
    private String dir;
    @Value("${git.user}")
    private String user;
    @Value("${git.pass}")
    private String pass;
    @Value("${git.branch}")
    private String branch;
    @Value("${git.revision:''}")
    private String revision;

	public int getGitPull(String baseUrl, String dir, String user, String pass, String branch, String revision) {
		GitFromXLY gfxly = new GitFromXLY(dir, user, pass, branch, revision);

		int getPullCode = gfxly.pull(baseUrl);
		if (getPullCode == 0) {
			System.out.println("检出代码成功===0");
		} else {
			System.out.println("检出代码未知异常===5");
		}

		int getBranchCode = gfxly.checkoutBranch();
		if (getBranchCode == 0) {
			System.out.println("检出分支成功===0");
		} else {
			System.out.println("检出分支未知异常===7");
			// System.exit(7);
		}

		int getRevisionCode = gfxly.checkoutRevision();
		if (getRevisionCode == 0) {
			System.out.println("检出版本成功===0");
		} else {
			System.out.println("检出版本未知异常===9");
			// System.exit(9);
		}
		return getPullCode;
	}
	
	public int getGitConfigPull() {
		GitFromXLY gfxly = new GitFromXLY(dir, user, pass, branch, revision);

		int getPullCode = gfxly.pull(baseUrl);
		if (getPullCode == 0) {
			System.out.println("检出代码成功===0");
		} else {
			System.out.println("检出代码未知异常===5");
		}

		int getBranchCode = gfxly.checkoutBranch();
		if (getBranchCode == 0) {
			System.out.println("检出分支成功===0");
		} else {
			System.out.println("检出分支未知异常===7");
			// System.exit(7);
		}

		int getRevisionCode = gfxly.checkoutRevision();
		if (getRevisionCode == 0) {
			System.out.println("检出版本成功===0");
		} else {
			System.out.println("检出版本未知异常===9");
			// System.exit(9);
		}
		return getPullCode;
	}

//    public String getGitPull() {
//    	GitFromXLY gfxly = new GitFromXLY(module, user, pass, branch, revision);
//    	int getPullCode = gfxly.pull(baseUrl + module);
//        if (getPullCode == 0) {
//            System.out.println("检出代码成功===0");
//        } else if (getPullCode == 1) {
//            System.exit(1);
//        } else if (getPullCode == 2) {
//            System.exit(2);
//        } else if (getPullCode == 3) {
//            System.exit(3);
//        } else if (getPullCode == 4) {
//            System.exit(4);
//        } else {
//            System.out.println("检出代码未知异常===5");
//            System.exit(5);
//        }
//        
//        int getBranchCode = gfxly.checkoutBranch();
//        if (getBranchCode == 0) {
//            System.out.println("检出分支成功===0");
//        } else if (getPullCode == 6) {
//            System.exit(6);
//        } else {
//            System.out.println("检出分支未知异常===7");
//            System.exit(7);
//        }
//        int getRevisionCode = gfxly.checkoutRevision();
//        if (getRevisionCode == 0) {
//            System.out.println("检出版本成功===0");
//        } else if (getPullCode == 8) {
//            System.exit(8);
//        } else {
//            System.out.println("检出版本未知异常===9");
//            System.exit(9);
//        }
//        
//    }
}
